//package com.jacken.springcloudseatabank01.common.exception;
//
//import com.jacken.springcloudseatabank01.common.CommonEnum;
//import com.jacken.springcloudseatabank01.entity.basic.Result;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.web.bind.annotation.ControllerAdvice;
//import org.springframework.web.bind.annotation.ExceptionHandler;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import javax.servlet.http.HttpServletRequest;
//
///**
// * @author wangqiang
// * @version 1.0
// * @date 2020/10/8 10:08
// */
//@ControllerAdvice
//public class GlobalExceptionHandler {
//
//    private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
//
//    /**
//     * 处理自定义的业务异常
//     *
//     * @param req
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(value = BizException.class)
//    @ResponseBody
//    public Result bizExceptionHandler(HttpServletRequest req, BizException e) {
//        logger.error("发生业务异常！原因是：{}", e.getErrorMsg());
//        return Result.error(e.getErrorCode(), e.getErrorMsg());
//    }
//
//    /**
//     * 处理空指针的异常
//     *
//     * @param req
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(value = NullPointerException.class)
//    @ResponseBody
//    public Result exceptionHandler(HttpServletRequest req, NullPointerException e) {
//        logger.error("发生空指针异常！原因是:", e);
//        return Result.error(CommonEnum.BODY_NOT_MATCH);
//    }
//
//
//    /**
//     * 处理其他异常
//     *
//     * @param req
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(value = Exception.class)
//    @ResponseBody
//    public Result exceptionHandler(HttpServletRequest req, Exception e) {
//        logger.error("未知异常！原因是:", e);
//        return Result.error(CommonEnum.INTERNAL_SERVER_ERROR);
//    }
//}
